package com.tms.service;

import com.github.pagehelper.PageInfo;
import com.tms.domain.Tool;
import com.tms.domain.index.ToolStatusInfo;

import java.util.List;

/**
 * tool业务接口定义
 */
public interface ToolService {

    /**
     * 根据ID查询
     */
    Tool findToolById(int id);

    /**
     * 创建
     */
    Tool createTool(Tool tool);

    /**
     * 根据ID删除
     */
    void deleteToolById(Tool tool);

    /**
     * 根据ID更新
     */
    Tool updateToolById(Tool tool);

    /**
     * 通过code查询tool
     *
     * @param page     页数
     * @param pageSize 每页个数
     * @param code     tool的code
     */
    PageInfo<Tool> findToolsByCode(int page, int pageSize, String code);

    /**
     * 寻找所有未报废的tool
     */
    int findAllTools();

    /**
     * 寻找所有的已报废的tool
     */
    int findAllScrap();

    List<ToolStatusInfo> getToolStatusInfo();

    int getMaxSeqIdByCode(String code);

}